WebuSocketのテストをポータブルにする + tls1.2


わすれてたんだけど、nginx-lua側もtlsやらんとな。

https://github.com/openresty/lua-ssl-nginx-module



概要

これもまた式年遷宮。


tls喋れるWebServer欲しい

・ついでにwssも喋れるWebServer欲しい

という感じで。


Unity2017からは.netCoreのバイナリも入ってるんで、それでフルに書こうかな~~と思ったんだけど、うーんん、まずは動作する別環境を作って、それに追いつかせよう。

というわけでまずは見本作成、nginxでの手元でtlsなhttp + websocket な話から。

-> 準備が思ったより大変だったので、うーん、最後のチャレンジとしてルータの整理整頓を行う。悲しい。




TLS導入の話

let’s Encryptな。

https://www.nginx.com/blog/lets-encrypt-tls-nginx/



nginxの設定

日本語でわかりやすく。

https://heartbeats.jp/hbblog/2012/06/nginx06.html

で、それらが整った上で、netCore上でとりあえずhttpとwebsocket返せるやつ書こう。



そういえば、WebuSocketでのドメインの除外設定について

特になんもせずに流してる気がしてきたぞ。ガバガバだぞ。

https://github.com/sassembla/WebuSocket/blob/master/WebuSocket/WebSocketEncryption.cs#L73


なんとかしよう。



メモ

certbotってのを使うといい感じっぽい。

https://certbot.eff.org


どんなサーバ使ってるんだっけ? -> ubuntuなんだけどvどれ

cat /etc/*release


-> 16.04.2 LTS


ふむ。


$ sudo apt-get install software-properties-common

$ sudo add-apt-repository ppa:certbot/certbot

$ sudo apt-get update

$ sudo apt-get install python-certbot-nginx 

ふーむ、一行目からこける要素がある。apt-get update したらいけた。これ以降は動作。


Geographic area: 6

Time zone: 78



で、ここからがcertbotの動作。

sudo certbot --nginx


で、

No names were found in your configuration files. Please enter in your domain

name(s) (comma and/or space separated)  (Enter 'c' to cancel):kissaki.tv

ふむ。


nginx: [error] invalid PID number "" in "/run/nginx.pid"

Cannot find a VirtualHost matching domain kissaki.tv.


あ、なんか前提おかしいっぽい。nginx動いてるといけなかったかな?

なんか起動しっぱなしのnginxのpidがおかしいのかな。

-> nginxの状態がおかしいっぽい。ふむ?

-> リンクがおかしかった。デフォルトでnginxっていうリンクが存在してるぽいんだけど、自分の構成したnginxのパスを踏んでない。

このexeはなんかletsencが作っちゃってるっぽいな。なるほどな?


・restartには失敗してるんだけどもうconfは変わってるんだろうか?

なんかletsencは別のnginxをいじってるような気がしなくもない。


とりあえず本家で入ってたnginxを停止した状態で試してみよう。


-> エラーは出なくなった。が、

Cannot find a VirtualHost matching domain kissaki.tv.


とか言われる。ふむ。

なんかいろんな前提がありそうなんで、bareなubuntuからやってみよう。

Bareなubuntuでリトライ

apt-get install python-certbot-nginx

のとこで、nginx入れてるんだなあ。これと前提が合わせられればそれでいいか。

で、ubuntu + certbotだとバグがあるみたいな? まじ?

下記で触れられてるのと同じことが起きてるっぽくて、うーん。最近か。centosでやってみよう。

https://totoshko88.wordpress.com/2017/06/11/letsencrypt-certbot-ubuntu-nginx/


Bare centosでリトライ

はい。とりあえず動かしたい。


yum -y install wget

wget https://dl.eff.org/certbot-auto

chmod a+x certbot-auto

./certbot-auto --nginx


で、依存いろいろ入れて、

Saving debug log to /var/log/letsencrypt/letsencrypt.log

The nginx plugin is not working; there may be problems with your existing configuration.

The error was: NoInstallationError()

ふむ、、、なんかあやしい。


こっちではnginxが入ってないな~なるほど、動かしとけ的な前提なのかな?


いろいろ読んで試そう。


https://digitz.org/blog/lets-encrypt-ssl-centos-7-setup/


https://certbot.eff.org/docs/



別軸

How to setup NGINX with automatic HTTPS in Docker

https://tevinjeffrey.me/how-to-setup-nginx-proxy-and-lets-encrypt-with-docker/




nginx側の記事

https://www.nginx.com/blog/lets-encrypt-tls-nginx/



Certbot

main

https://certbot.eff.org/#ubuntuxenial-nginx

doc

https://certbot.eff.org/docs/



おっdockerに対応してる記事あった

http://qiita.com/setouchi/items/b3a78cb396ae6e58b84b

wordpressかー



Running with Docker

うーんドキュメントを読もうと言う感じだ。

https://certbot.eff.org/docs/install.html#running-with-docker



docker で全自動 Let's encrypt

ほうほう。


http://qiita.com/kuboon/items/f424b84c718619460c6f


続きやってみよう。



・対象のドメインへのアクセスができなかったから動いてない説

・ARecordのセット

https://muumuu-domain.com/?mode=conpane&state=custom


・ルータの解放

https://www.akakagemaru.info/port/wsr-2533dhp-portfw.html


あたりがありそう。なるほどって感じ。で、ルータのパスを失ったので、どうすっかな。再設定か~。



最終的に欲しいものは

nginx + tlsを動かせる場所。

awsで構築するか。



nginx

あ、そういえばdocker作ったわ。

dockerでの動作な必要があるのかな?


aws

ec2に導入すれば良さそう、これはapacheの例なのでまあ読みかえでいけるかな。

https://qiita.com/MashMorgan/items/56498f276c54406b1928